package com.yu.crm.domain.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 后台 设备管理表
 * </p>
 *
 * @author ct
 * @since 2019-08-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CrmDevice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ID_WORKER)
    private Long id;

    /**
     * 部门区分(多个公司共用同一个系统 进行区分)
     */
    @TableField("tab_id")
    private Integer tabId;

    /**
     * 设备名称
     */
    @TableField("device_name")
    private String deviceName;

    /**
     * 设备厂家
     */
    @TableField("device_number")
    private Integer deviceNumber;

    /**
     * 设备序列号
     */
    @TableField("device_machine_code")
    private String deviceMachineCode;


    /**
     * 楼栋区域名称
     */
    @TableField("building_area_name")
    private String buildingAreaName;

    /**
     * 楼栋名称
     */
    @TableField("building_name")
    private String buildingName;

    /**
     * 楼层名称
     */
    @TableField("building_floor_name")
    private String buildingFloorName;

    /**
     * 设备所在ip地址
     */
    @TableField("device_ip")
    private String deviceIp;

    /**
     * 是否下线 默认1 1在线 2离线
     */
    @TableField("is_tape_out")
    private Integer isTapeOut;

    /**
     * 设备所在端口号
     */
    @TableField("device_port")
    private String devicePort;

    /**
     * 设备类型(字典表 03 )
     */
    @TableField("device_type")
    private Integer deviceType;

    /**
     * 设备出入口(默认0 出入口   1入口  2出口)
     */
    @TableField("is_inlet")
    private Integer isInlet;

    /**
     * 设备总路数
     */
    @TableField("device_count")
    private Integer deviceCount;

    /**
     * 设备对应二维码地址
     */
    @TableField("device_qrcode")
    private String deviceQrcode;

    /**
     * 设备编号
     */
    @TableField("device_sequence")
    private String deviceSequence;

    /**
     * 设备排序(路数  哪一个门)
     */
    @TableField("sort")
    private Integer sort;

    /**
     * 是否授控（默认0 0授控  0不授控）
     */
    @TableField("is_controlled")
    private Integer isControlled;

    /**
     * 状态(默认0 0开启 1不开启 )
     */
    @TableField("status")
    private Integer status;

    /**
     * 是否最后离开状态( 默认0  0不是  1是)
     */
    @TableField("is_departure")
    private Integer isDeparture;

    /**
     * 摄像头唯一标识(多个以逗号分开)
     */
    @TableField("camera_number")
    private String cameraNumber;

    /**
     * 创建人
     */
    @TableField("create_user_id")
    private String createUserId;

    /**
     * 修改人
     */
    @TableField("update_user_id")
    private String updateUserId;

    /**
     * 创建时间
     */
    @TableField("gmt_create")
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    @TableField("gmt_modified")
    private LocalDateTime gmtModified;

    /**
     * 是否已删除  默认0 0未删除  1已删除
     */
    @TableField("is_deleted")
    private Integer isDeleted;

    /**
     * 设备类型名称
     */
    @TableField(exist = false)
    private String deviceTypeName;


    /**
     *  通过类型判断存储的是区域还是楼栋ID
     */
    @TableField("area_building_type")
    private String areaBuildingType;

    /**
     * 区域或楼栋ID
     */
    @TableField("area_building_id")
    private String areaBuildingId;


    /**
     *  用户名名
     */
    @TableField("user_name")
    private String userName;

    /**
     * 平台或ISC类别区分（1-ISC,2-平台,3-预警平台）
     */
    @TableField("platform_type")
    private String platformType;

    /**
     *  用户密码
     */
    @TableField("password")
    private String password;

    /**
     * 经度
     */
    @TableField("longitude")
    private Double longitude;

    /**
     * 纬度
     */
    @TableField("latitude")
    private Double latitude;

    @TableField("attachment_id")
    private  Long attachmentId;

    /**
     * 检票口
     */
    @TableField("ticket_gate")
    private String ticketGate;

    /**
     * 控制卡型号
     */
    @TableField("card_type")
    private String cardType;

    /**
     * 负责人姓名
     */
    @TableField("charge_name")
    private String chargeName;

    /**
     * 负责人电话
     */
    @TableField("charge_tel")
    private String chargeTel;

    /**
     * 供应商
     */
    @TableField("supplier")
    private String supplier;

    /**
     * 供应商电话
     */
    @TableField("supplier_tel")
    private String supplierTel;
}
